package top.infopub.mgr.bpa.dao;

import java.math.BigDecimal;
import java.util.Map;

import top.infopub.generic.GenericDao;
import top.infopub.mgr.bpa.domain.EffectSureDomain;
import top.infopub.mgr.bpa.vo.EffectSureVo;
import top.infopub.mgr.sts.domain.StsEffectDomain;
import top.infopub.model.bpa.EffectSure;

import com.github.pagehelper.Page;

/** 创效确认(BPA_EFFECT_SURE) **/
public interface EffectSureDao extends GenericDao<EffectSure, String> {

    /**
     * 根据项目编号查询最新的创效确认记录
     * @param proCode 项目编号
     * @return 
     * @see
     */
    EffectSure selectLatestEffectSureByProCode(String proCode);

    /**
     * 根据条件查询分页数据
     * @param effectSureVo
     * @return 
     * @see
     */
    Page<EffectSureDomain> selectByDomainWhere(EffectSureVo effectSureVo);

    /**
     * 根据条件查询-我审批的分页数据
     * @param effectSureVo
     * @return 
     * @see
     */
    Page<EffectSureDomain> selectMyCheckByDomainWhere(EffectSureVo effectSureVo);

    /**
     * 根据id查询详情
     * @param id 主键id
     * @return 
     * @see
     */
    EffectSureVo queryById(String id);

    /**
     * 新增记录
     * @param effectSure 
     * @see
     */
    void insertById(EffectSureVo effectSure);

    /**
     * 根据条件查询累计创效总金额
     * @param effectSureVo
     * @return 
     * @see
     */
    BigDecimal selectTotalAmount(EffectSureVo effectSureVo);
    
    /**
     * 根据条件查询管理驾驶舱-创效统计分页记录
     * @param where
     * @return 
     * @see
     */
    Page<StsEffectDomain> selectStsByDomainWhere(Map<String, Object> where);
	
}